Cómo trabajar con el repositorio de código corporativo

Información general

Icono framework
Tipo de recurso
Guía
Etiquetas

¿Quién administra el repositorio de código?

La administración funcional se realiza desde la Oficina de Impulso de DevSecOps, aunque tendrás la autonomía necesaria para gestionar tú mismo los componentes de tus Sistemas de Información.

¿Cómo gestiono los permisos y responsables en el repositorio de código?

Para la gestión de permisos en el repositorio de código corporativo se ha optado por la implementación de un modelo de autogestión. Este cambio está pensado para otorgar mayor autonomía y flexibilidad a los distintos equipos.

¿Cómo elijo el nombre del repositorio?

Se deberán seguir las indicaciones marcadas en la pauta Organización y estructura tipo para un Sistema de Información, existente en Norma de uso de código de código corporativo.

¿Cómo se organizará el repositorio?

Se deberán seguir las indicaciones marcadas en la pauta Nomenclatura, existente en Norma de uso de código de código corporativo.

¿Necesitas migrar tus Sistemas de Información desde SVN?

Procedimiento funcional de migración de SVN a Git:

1. Checkout repositorio original

Para empezar con la migración de un repositorio Subversion a Git comenzaremos descargando el repositorio original de Subversion:

svn checkout repositorio

2. Creación de ficheros de autores

Una vez descargado y dentro de la carpeta creada, ejecutaremos el siguiente comando:

svn log -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2">"}' | sort -u > authors.txt

3. Formato del fichero de autores

Con ello conseguiremos la lista de usuarios que han trabajado con el repositorio para pasarlos a Git.

Antes tendremos que adaptar el contenido. Los usuarios en SVN por defecto suelen venir con este formato:

jwilkins = jwilkins (jwilkins)

Será necesario adaptarlo a este formato:

jwilkins = John Albin Wilkins (johnalbin@example.com)

4. Clonado del repositorio

Una vez modificado el fichero de usuario, ejecutaremos el siguiente comando:

git svn clone http://servidor-svn/proyecto --no-metadata --preserve-empty-dirs  -A authors.txt --stdlayout svntmp

En caso de que la estructura del repositorio de SVN no sea estándar, necesitaremos definir la localización de nuestro trunk, branches y tags.

git svn clone --trunk=/trunk --branches=/branches branches=/bugfixes --tags=/tags --authors-file=authors.txt http://servidor-svn/proyecto --no-metadata --preserve-empty-dirs  -A authors.txt --stdlayout svntmp

5. Creación del fichero .gitignore

Creamos el fichero .gitignore con los ficheros ignorados en Subversion:

cd svntmp
git svn show-ignore > .gitignore

6. Normalización del repositorio

En primer lugar moveremos las etiquetas para que sean etiquetas Git correctas:

cp -Rf .git/refs/remotes/origin/tags/* .git/refs/tags/
rm -Rf .git/refs/remotes/origin/tags

A continuación, moveremos el resto de las referencias en refs/remotes para que sean ramas locales:

cp -Rf .git/refs/remotes/* .git/refs/heads/
rm -Rf .git/refs/remotes

7. Configuración del repositorio remoto

Añadimos nuestro servidor Git en remoto:

git remote add origin git@servidor-git:mirepositorio.git

8. Subida del repositorio

Subimos ramas y etiquetas:

git push origin --all

¿Qué hacer si tengo problemas con la migración?

Puedes ponerte en contacto con la Oficina de Impulso de DevSecOps  y plantear a un técnico tu problema para que te ayuden con todo lo necesario a la migración mediante solicitud a través de NAOS:

  • Operación: Realizar petición
  • Servicio: DSO - Impulso DevSecOps
  • Componente: Soporte de las herramientas de apoyo DevSecOps
  • Elemento: (Sin determinar)